#ifndef __SPROXY_CORE_LOGGER
#define __SPROXY_CORE_LOGGER 1
#include <log4cxx/logger.h>
#include <log4cxx/propertyconfigurator.h>

#ifdef DEBUG
    static auto __DEFAUTL_LOGGER = log4cxx::Logger::getLogger("SPROXY");
    #define NONE 
    #define logger_debug(msg) do{LOG4CXX_DEBUG(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_trace(msg) do{LOG4CXX_TRACE(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_info(msg) do{LOG4CXX_INFO(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_warn(msg) do{LOG4CXX_WARN(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_error(msg) do{LOG4CXX_ERROR(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_fatal(msg) do{LOG4CXX_FATAL(__DEFAUTL_LOGGER, msg);}while(0)
#endif


#ifdef TRACE
    static auto __DEFAUTL_LOGGER = log4cxx::Logger::getLogger("SPROXY");
    #define NONE 
    #define logger_debug(msg) 
    #define logger_trace(msg) do{LOG4CXX_TRACE(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_info(msg) do{LOG4CXX_INFO(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_warn(msg) do{LOG4CXX_WARN(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_error(msg) do{LOG4CXX_ERROR(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_fatal(msg) do{LOG4CXX_FATAL(__DEFAUTL_LOGGER, msg);}while(0)
#endif

#ifdef INFO
    static auto __DEFAUTL_LOGGER = log4cxx::Logger::getLogger("SPROXY");
    #define NONE 
    #define logger_debug(msg) 
    #define logger_trace(msg) 
    #define logger_info(msg) do{LOG4CXX_INFO(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_warn(msg) do{LOG4CXX_WARN(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_error(msg) do{LOG4CXX_ERROR(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_fatal(msg) do{LOG4CXX_FATAL(__DEFAUTL_LOGGER, msg);}while(0)
#endif

#ifdef WARN
    static auto __DEFAUTL_LOGGER = log4cxx::Logger::getLogger("SPROXY");
    #define NONE 
    #define logger_debug(msg) 
    #define logger_trace(msg) 
    #define logger_info(msg) 
    #define logger_warn(msg) do{LOG4CXX_WARN(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_error(msg) do{LOG4CXX_ERROR(__DEFAUTL_LOGGER, msg);}while(0)
    #define logger_fatal(msg) do{LOG4CXX_FATAL(__DEFAUTL_LOGGER, msg);}while(0)
#endif

#ifndef NONE
    #define logger_info(msg) 
    #define logger_warn(msg) 
    #define logger_error(msg) 
    #define logger_trace(msg) 
    #define logger_debug(msg) 
    #define logger_fatal(msg) 
#endif

#endif